<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-Hans" xml:lang="zh-Hans"><head>

<meta charset="utf-8">
<meta name="generator" content="quarto-1.4.551">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

<meta name="description" content="介绍使用相关工具对 LI-6800 和 LI-6400 光合数据进行分析的一些方法，主要以 R 为主， 有时候为方便或者作为比较，会涉及 python 和其他工具。">

<title>LI-6800 和 LI-6400 光合数据分析指南 - 二氧化碳响应曲线概述</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
  width: 0.8em;
  margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ 
  vertical-align: middle;
}
/* CSS for citations */
div.csl-bib-body { }
div.csl-entry {
  clear: both;
  margin-bottom: 0em;
}
.hanging-indent div.csl-entry {
  margin-left:2em;
  text-indent:-2em;
}
div.csl-left-margin {
  min-width:2em;
  float:left;
}
div.csl-right-inline {
  margin-left:2em;
  padding-left:1em;
}
div.csl-indent {
  margin-left: 2em;
}</style>


<script src="site_libs/quarto-nav/quarto-nav.js"></script>
<script src="site_libs/quarto-nav/headroom.min.js"></script>
<script src="site_libs/clipboard/clipboard.min.js"></script>
<script src="site_libs/quarto-search/autocomplete.umd.js"></script>
<script src="site_libs/quarto-search/fuse.min.js"></script>
<script src="site_libs/quarto-search/quarto-search.js"></script>
<meta name="quarto:offset" content="./">
<link href="./aci.html" rel="next">
<link href="./python-aq-gui.html" rel="prev">
<script src="site_libs/quarto-html/quarto.js"></script>
<script src="site_libs/quarto-html/popper.min.js"></script>
<script src="site_libs/quarto-html/tippy.umd.min.js"></script>
<script src="site_libs/quarto-html/anchor.min.js"></script>
<link href="site_libs/quarto-html/tippy.css" rel="stylesheet">
<link href="site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
<link href="site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
<script id="quarto-search-options" type="application/json">{
  "location": "sidebar",
  "copy-button": false,
  "collapse-after": 3,
  "panel-placement": "start",
  "type": "textbox",
  "limit": 50,
  "keyboard-shortcut": [
    "f",
    "/",
    "s"
  ],
  "show-item-context": false,
  "language": {
    "search-no-results-text": "No results",
    "search-matching-documents-text": "matching documents",
    "search-copy-link-title": "Copy link to search",
    "search-hide-matches-text": "Hide additional matches",
    "search-more-match-text": "more match in this document",
    "search-more-matches-text": "more matches in this document",
    "search-clear-button-title": "Clear",
    "search-text-placeholder": "",
    "search-detached-cancel-button-title": "Cancel",
    "search-submit-button-title": "Submit",
    "search-label": "搜索"
  }
}</script>

  <script>window.backupDefine = window.define; window.define = undefined;</script><script src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js"></script>
  <script>document.addEventListener("DOMContentLoaded", function () {
 var mathElements = document.getElementsByClassName("math");
 var macros = [];
 for (var i = 0; i < mathElements.length; i++) {
  var texText = mathElements[i].firstChild;
  if (mathElements[i].tagName == "SPAN") {
   katex.render(texText.data, mathElements[i], {
    displayMode: mathElements[i].classList.contains('display'),
    throwOnError: false,
    macros: macros,
    fleqn: false
   });
}}});
  </script>
  <script>window.define = window.backupDefine; window.backupDefine = undefined;</script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css">

<script type="text/javascript">
const typesetMath = (el) => {
  if (window.MathJax) {
    // MathJax Typeset
    window.MathJax.typeset([el]);
  } else if (window.katex) {
    // KaTeX Render
    var mathElements = el.getElementsByClassName("math");
    var macros = [];
    for (var i = 0; i < mathElements.length; i++) {
      var texText = mathElements[i].firstChild;
      if (mathElements[i].tagName == "SPAN") {
        window.katex.render(texText.data, mathElements[i], {
          displayMode: mathElements[i].classList.contains('display'),
          throwOnError: false,
          macros: macros,
          fleqn: false
        });
      }
    }
  }
}
window.Quarto = {
  typesetMath
};
</script>

</head>

<body class="nav-sidebar floating">

<div id="quarto-search-results"></div>
  <header id="quarto-header" class="headroom fixed-top">
  <nav class="quarto-secondary-nav">
    <div class="container-fluid d-flex">
      <button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="切换侧边栏导航" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
        <i class="bi bi-layout-text-sidebar-reverse"></i>
      </button>
        <nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./aci-curve.html">二氧化碳响应曲线概述</a></li></ol></nav>
        <a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="切换侧边栏导航" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">      
        </a>
      <button type="button" class="btn quarto-search-button" aria-label="" onclick="window.quartoOpenSearch();">
        <i class="bi bi-search"></i>
      </button>
    </div>
  </nav>
</header>
<!-- content -->
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article">
<!-- sidebar -->
  <nav id="quarto-sidebar" class="sidebar collapse collapse-horizontal quarto-sidebar-collapse-item sidebar-navigation floating overflow-auto">
    <div class="pt-lg-2 mt-2 text-left sidebar-header">
    <div class="sidebar-title mb-0 py-0">
      <a href="./">LI-6800 和 LI-6400 光合数据分析指南</a> 
        <div class="sidebar-tools-main">
    <a href="https://github.com/zhujiedong/photosynthesis-analysis/" title="Source Code" class="quarto-navigation-tool px-1" aria-label="Source Code"><i class="bi bi-github"></i></a>
</div>
    </div>
      </div>
        <div class="mt-2 flex-shrink-0 align-items-center">
        <div class="sidebar-search">
        <div id="quarto-search" class="" title="搜索"></div>
        </div>
        </div>
    <div class="sidebar-menu-container"> 
    <ul class="list-unstyled mt-1">
        <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./index.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">欢迎</span></a>
  </div>
</li>
        <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./thanks.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">致谢</span></a>
  </div>
</li>
        <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./preface.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">序言</span></a>
  </div>
</li>
        <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./intro.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">介绍</span></a>
  </div>
</li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./basics.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">必备工具</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-1" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./rbasics.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">1</span>&nbsp; <span class="chapter-title">R 相关的准备</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./python-basics.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">2</span>&nbsp; <span class="chapter-title">其他工具</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./packages.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">光合相关的软件包</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./phtosyn-pacakges.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">3</span>&nbsp; <span class="chapter-title">光合专用软件包</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./general-packages.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">4</span>&nbsp; <span class="chapter-title">生态学通用软件包</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./data-prepare.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">数据准备</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-3" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-3" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./data-import.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">5</span>&nbsp; <span class="chapter-title">数据读取的选项</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./batch-method.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">6</span>&nbsp; <span class="chapter-title">数据的基本处理</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./light-response.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">光响应曲线简介</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-4" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./nls-start.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">7</span>&nbsp; <span class="chapter-title">非线性拟合初值确定</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./hyp.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">8</span>&nbsp; <span class="chapter-title">直角双曲线模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./non-hypo.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">9</span>&nbsp; <span class="chapter-title">非直角双曲线模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./exp.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">10</span>&nbsp; <span class="chapter-title">指数模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./hyp-rev.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">11</span>&nbsp; <span class="chapter-title">直角双曲线的修正模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./aq-choose.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">12</span>&nbsp; <span class="chapter-title">如何选择合适的模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./big-leaf.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">13</span>&nbsp; <span class="chapter-title">大叶模型</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./python-aq-gui.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">14</span>&nbsp; <span class="chapter-title">介绍</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./aci-curve.html" class="sidebar-item-text sidebar-link active">
 <span class="menu-text">二氧化碳响应曲线概述</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-5" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-5" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./aci.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">15</span>&nbsp; <span class="chapter-title">Aci 曲线拟合相关</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./DAT-vs-racir.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">16</span>&nbsp; <span class="chapter-title">快速<code>ACi</code> 曲线 (RACiR)</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./plantecowraps.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">17</span>&nbsp; <span class="chapter-title">plantecowrap 温度相关拟合</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./Rd.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">18</span>&nbsp; <span class="chapter-title">Rd 呼吸 相关</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./C4-related.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">19</span>&nbsp; <span class="chapter-title">C4 植物光合模拟</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./fluorescence.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">叶绿素荧光数据的处理</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-6" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-6" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./jiptest.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">20</span>&nbsp; <span class="chapter-title">LI-6800 JIP test 分析</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./other-fluor.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">21</span>&nbsp; <span class="chapter-title">其他叶绿素荧光数据处理</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./gm-gs.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">叶肉与气孔导度</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-7" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-7" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./gs.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">22</span>&nbsp; <span class="chapter-title">气孔导度模型的拟合</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./gm.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">23</span>&nbsp; <span class="chapter-title">叶肉导度计算</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a href="./other-stat.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text">其他统计方法</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-8" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-8" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./common-stat.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">24</span>&nbsp; <span class="chapter-title">正态分布检验</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./pca.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">25</span>&nbsp; <span class="chapter-title">大话 PCA</span></span></a>
  </div>
</li>
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./smatr.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">26</span>&nbsp; <span class="chapter-title">标准主轴分析介绍</span></span></a>
  </div>
</li>
      </ul>
  </li>
        <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./references.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">27</span>&nbsp; <span class="chapter-title">参考文献</span></span></a>
  </div>
</li>
        <li class="sidebar-item sidebar-item-section">
      <div class="sidebar-item-container"> 
            <a class="sidebar-item-text sidebar-link text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="true">
 <span class="menu-text">Appendices</span></a>
          <a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="true" aria-label="切換部分">
            <i class="bi bi-chevron-right ms-2"></i>
          </a> 
      </div>
      <ul id="quarto-sidebar-section-9" class="collapse list-unstyled sidebar-section depth1 show">  
          <li class="sidebar-item">
  <div class="sidebar-item-container"> 
  <a href="./a1-run-environment.html" class="sidebar-item-text sidebar-link">
 <span class="menu-text"><span class="chapter-number">A</span>&nbsp; <span class="chapter-title">运行环境</span></span></a>
  </div>
</li>
      </ul>
  </li>
    </ul>
    </div>
</nav>
<div id="quarto-sidebar-glass" class="quarto-sidebar-collapse-item" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item"></div>
<!-- margin-sidebar -->
    <div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
        <nav id="TOC" role="doc-toc" class="toc-active">
    <h2 id="toc-title">Table of contents</h2>
   
  <ul>
  <li><a href="#co2_note" id="toc-co2_note" class="nav-link active" data-scroll-target="#co2_note">CO<sub>2</sub> 响应曲线测量的注意事项</a></li>
  <li><a href="#sec-aci-vs-racir" id="toc-sec-aci-vs-racir" class="nav-link" data-scroll-target="#sec-aci-vs-racir">ACi VS RACiR</a>
  <ul class="collapse">
  <li><a href="#dat-racir" id="toc-dat-racir" class="nav-link" data-scroll-target="#dat-racir">使用 DAT 做快速 ACi</a></li>
  </ul></li>
  </ul>
<div class="toc-actions"><ul><li><a href="https://github.com/zhujiedong/photosynthesis-analysis/edit/master/aci-curve.qmd" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li></ul></div></nav>
    </div>
<!-- main -->
<main class="content" id="quarto-document-content">

<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title"><span id="sec-general-aci" class="quarto-section-identifier">二氧化碳响应曲线概述</span></h1>
</div>



<div class="quarto-title-meta">

    
  
    
  </div>
  


</header>


<p><span class="citation" data-cites="Farquhar1980A">Farquhar, Caemmerer, 和 Berry (<a href="references.html#ref-Farquhar1980A" role="doc-biblioref">1980</a>)</span> 建立的 C3 植物模型 FvCB，一直是多数文章所选择的模型，其基于 C3 植物碳反应的三个阶段：</p>
<ul>
<li><p>核酮糖-1,5-双磷酸羧化酶/加氧酶 (Rubisco)的催化下, 核酮糖-1,5-双磷酸(RuBP)与 CO<sub>2</sub>发生羧化作用, 生成3-磷酸甘油酸(PGA)。</p></li>
<li><p>在腺苷三磷酸(ATP)和还原型烟酰胺腺嘌呤 二核苷酸磷酸(NADPH)的作用下, PGA被还原成磷 酸丙糖(TP)。每6个TP中有1个输出到细胞液中, 用 于蔗糖或者淀粉的合成。</p></li>
<li><p>剩下的5个TP 在ATP的作用下再生为 3 个RuBP。一部分再生的 RuBP在Rubisco的催化下被氧化成PGA和2-磷酸乙 醇酸, 2-磷酸乙醇酸在ATP的作用下形成PGA, 并且 释放CO<sub>2</sub> (光呼吸)。</p></li>
</ul>
<p>在光照下, C3 植物净光合速率 (A) 取决于 3 个同时存在的速率: RuBP羧化速率(Vc)、RuBP氧化速率 (或光呼吸速率, Vo)和线粒体在光照下的呼吸速率 (或明呼吸速率, Rd; 此名为了与暗呼吸速率对应和区分)。RuBP氧化过程中每结合1 mol O<sub>2</sub> 就会释放 0.5 mol CO<sub>2</sub> 。因此, 净光合速率 A 的计算为：</p>
<div id="fig-fvcb" class="quarto-figure quarto-figure-center quarto-float anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-fvcb-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="img/fvcb.png" class="img-fluid figure-img">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-fvcb-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: 光合速率的不同的限制阶段
</figcaption>
</figure>
</div>
<p><span id="eq-aeta"><span class="math display">
A = V_c - 0.5V_{o} - R_{d}
\tag{1}</span></span></p>
<p>线粒体Rd不同于暗呼吸速率(Rn )。Rn是叶片在 黑暗中的线粒体呼吸速率, 随着光照的增加, 线粒体呼吸速率下降。因此 Rd &lt; Rn 在黑暗条件下测定的叶 片 CO<sub>2</sub> 交换速率即 Rn , 但是 Rd 的测定比较困难, 因为光照条件下 Rd 与 Vc、Vo 同时存在。<span class="citation" data-cites="Hikosaka2006Temperature">Hikosaka 等 (<a href="references.html#ref-Hikosaka2006Temperature" role="doc-biblioref">2006</a>)</span> 总结了几种测定 Rd 的方法，式 <a href="#eq-aeta" class="quarto-xref">公式 &nbsp;<span>1</span></a> 又可表达为：</p>
<p><span id="eq-achange"><span class="math display">
A =V_{c} (1 -0.5 \alpha)\ R_{d}
\tag{2}</span></span></p>
<p>式 <a href="#eq-achange" class="quarto-xref">公式 &nbsp;<span>2</span></a> 中 <span class="math inline">\alpha</span> 为氧化速率和羧化速率的比值，由 Rubisco 动力学常数确定：</p>
<p><span id="eq-dynamic"><span class="math display">
\alpha =\frac{V_{O}}{V_{C}}  = \frac{O}{C_c} \times \frac{V_{omax} K_c}{V_{cmax}K_{o}} = \frac{O}{C_{c}} \times \frac{1}{S_{\frac{c}{o}}}
\tag{3}</span></span></p>
<p>式 <a href="#eq-dynamic" class="quarto-xref">公式 &nbsp;<span>3</span></a> 中，Cc 和 O 分别为叶绿体部位 CO<sub>2</sub> 和 O<sub>2</sub> 浓度。Cc 和 O 通常以气体摩尔分数 (<span class="math inline">\mu mol \cdot mol^{-1}</span> ) 或分压 (Pa) 表示, 但光合过程是在叶绿体的液相基质中发生的, 用分压表示更加恰当。Kc 与 Ko 为 Rubisco 羧化(氧化)的米氏常数, 代表了羧化(氧化)速率达到最大羧化(氧化)速率一半时的 CO<sub>2</sub> 和 <span class="math inline">O_{2}</span> 浓度。是 Rubisco 特异性因子, <span class="math inline">S_{\frac{c}{o}}</span>表示 Rubisco 对CO<sub>2</sub> 和 <span class="math inline">O_{2}</span> 的偏好程度。</p>
<p>当 A = Rd , 即 RuBP 羧化的 CO<sub>2</sub> 吸收速率刚好 等于 RuBP 氧化的 CO<sub>2</sub> 释放速率 (Vc = 2Vo，羧化时 CO<sub>2</sub> 提供的为 CO ) 时, <span class="math inline">\alpha</span> = 0.5。此时叶绿体的 CO<sub>2</sub> 浓度就是叶绿体 CO<sub>2</sub> 光合补偿点, 标记为 <span class="math inline">\Gamma^{*}</span>。即：</p>
<p><span id="eq-com"><span class="math display">
\Gamma^{*}\ =\ \frac{0.5O}{S_{\frac{c}{o}}}
\tag{4}</span></span></p>
<p>由公式 <a href="#eq-dynamic" class="quarto-xref">公式 &nbsp;<span>3</span></a> 和公式 <a href="#eq-com" class="quarto-xref">公式 &nbsp;<span>4</span></a> 可得：</p>
<p><span id="eq-combine"><span class="math display">
\alpha =\frac{2\Gamma^{*}}{C_{c}}
\tag{5}</span></span></p>
<p>代入公式 <a href="#eq-achange" class="quarto-xref">公式 &nbsp;<span>2</span></a> 得到：</p>
<p><span id="eq-combine2"><span class="math display">
A\ =V_{c}\ (1\ -\frac{\Gamma^{*}}{C_{c}})\ R_{d}
\tag{6}</span></span></p>
<p>在 Cc 浓度很低的时候，RuBP 供应充足 (<a href="#fig-fvcb" class="quarto-xref">Figure&nbsp;<span>1</span></a>) Rubisco 阶段)，Vc 等于 Rubisco 所能支持的羧化速率 w<sub>c</sub>，：</p>
<p><span id="eq-wc"><span class="math display">
w_{c}\ =\ \frac{V_{cmax\ }C_{c}}{C_{c\ }+\ K_{c\ }(1\ +\ \frac{O}{K_{o}})}
\tag{7}</span></span></p>
<p>随着 Cc 浓度的增加，Rubisco 支持的羧化速率超过了 RuBP 供应速率, Vc 受 RuBP 再生速率的限制（<a href="#fig-fvcb" class="quarto-xref">Figure&nbsp;<span>1</span></a> RuBP 阶段），此时 Vc 由 RuBP 的再生速率限制，而 RuBP 又由电子传递速率（J）决定，故：</p>
<p><span id="eq-wj"><span class="math display">
w_{j}\ =\ \frac{J\ C_{c}}{4C_{c\ }+\ 8\Gamma^{*}}
\tag{8}</span></span></p>
<p>当 Cc 浓度很高，光合磷酸化超过了淀粉和蔗糖的合成速率的时候，Vc 受到 TP 利用速率（Vp）的限制（图 <a href="#fig-fvcb" class="quarto-xref">Figure&nbsp;<span>1</span></a> TPU 阶段），一般情况下，</p>
<p><span id="eq-wp"><span class="math display">
w_{p\ }=\ \frac{3V_{p}C_{c}}{C_{c}-\Gamma^{*}}
\tag{9}</span></span></p>
<p>最终，C3 植物叶片的光合速率 A 由 w<sub>c</sub>、w<sub>j</sub>、w<sub>p</sub> 的最小者决定（图 <a href="#fig-fvcb" class="quarto-xref">Figure&nbsp;<span>1</span></a> 实现部分），当c &gt; <span class="math inline">\Gamma^{*}</span>时：</p>
<p><span id="eq-fvcbfin"><span class="math display">
A=min\{w_{c},w_{j,}w_{p}\}(1-\frac{\Gamma^{*}}{C_{c}})-R_{d}
\tag{10}</span></span></p>
<section id="co2_note" class="level3">
<h3 class="anchored" data-anchor-id="co2_note">CO<sub>2</sub> 响应曲线测量的注意事项</h3>
<p>尽管上文对其分段性做了数学上的解释，相比来讲，不是那么通俗易懂，根据 <span class="citation" data-cites="matthew2018">Haworth, Marino, 和 Centritto (<a href="references.html#ref-matthew2018" role="doc-biblioref">2018</a>)</span> 文章中的内容，我们后面两小节的内容对其进行概述：</p>
<section id="model_3" class="level4">
<h4 class="anchored" data-anchor-id="model_3">分段性</h4>
<p>与光响应曲线不同， A/Ci 曲线是分段的，这也增加了其复杂性，在其最初阶段，<span class="math inline">CO_2</span> 浓度较低，在此阶段， Rubisco 更多的与 <span class="math inline">O_2</span> 结合，因此，即使是较小浓度的 <span class="math inline">CO_2</span> 的增加，也会显著提高羧化速率，我们将此阶段称之为 <span class="math inline">CO_2</span> (<span class="citation" data-cites="Wullschleger1993Biochemical">Wullschleger (<a href="references.html#ref-Wullschleger1993Biochemical" role="doc-biblioref">1993</a>)</span>) 限制或 Rubisco 限制 (<span class="citation" data-cites="Long2003Gas">Long 和 Bernacchi (<a href="references.html#ref-Long2003Gas" role="doc-biblioref">2003</a>)</span>)。净光合速率 A 与 Ci 在此阶段斜率比较陡峭，实践中往往利用计算该斜率来计算 <span class="math inline">V_{cmax}</span>。</p>
<p>在较高的 <span class="math inline">CO_2</span> 浓度下，曲线斜率开始便的平缓，作为底物的 <span class="math inline">CO_2</span> 已经不在是限制因素，随着羧化速率达到最大，RUBP 的量成为了其限制因素，而 RUBP 的再生速率受最大电子传递速率 <span class="math inline">J_{max}</span> 的限制。此时曲线的弯曲点由 <span class="math inline">V_{cmax}</span> 限制转变为 <span class="math inline">J_{max}</span>，许多研究中将饱和光下和 <span class="math inline">CO_2</span> 浓度下测量的光合速率称之为做大光合速率(<span class="citation" data-cites="heath2005rising">Heath 等 (<a href="references.html#ref-heath2005rising" role="doc-biblioref">2005</a>)</span>)。而另一些研究中将最大光合速率定义为外界 <span class="math inline">CO_2</span> 时，在饱和光强下达到的最大光合速率(<span class="citation" data-cites="marshall1980a">Marshall 和 Biscoe (<a href="references.html#ref-marshall1980a" role="doc-biblioref">1980</a>)</span>)。这些术语上的差别需要注意。</p>
<p>在之后，有可能继续观测到磷酸盐限制 RUBP 再生的情况，导致光合速率的下降。因为此时大量的磷酸丙糖与正磷酸盐结合，导致 ATP 合成受限制(<span class="citation" data-cites="ellsworth2015phosphorus">Ellsworth 等 (<a href="references.html#ref-ellsworth2015phosphorus" role="doc-biblioref">2015</a>)</span>)。这就是 TPU 限制阶段。</p>
</section>
<section id="note_detail" class="level4">
<h4 class="anchored" data-anchor-id="note_detail">测量注意事项</h4>
<p>尽管您的操作是严格按照说明书操作的，但说明书是指仪器的正确操作方式，无法对所有测量都采用相同设置，要获得好的测量结果，有更多的因素需要注意：</p>
<p>使用 LI-6400 或 LI-6800 测量 ACi 曲线的过程也就是控制叶室或参比室气体浓度变化的过程，<strong>只要诱导的时间足够</strong>，气孔会在相应设置的环境条件下开到足够大，这样 Ci 会随 Ca 而变化，一般来讲二者的比例为 0.7，但也可能在 0.5~ 0.7 间变化。</p>
<p>一般来讲，测量参数是在温度为 25 <span class="math inline">^{\circ}</span>C 时获得，但实际测量过程中，因为外界温度过高或过低等无法控制叶室温度到 25 <span class="math inline">^{\circ}</span>C，这其实并非严重的问题，因为这可以通过数学上的方法将计算参数标准化为 25 <span class="math inline">^{\circ}</span>C 时的结果。所以，在测量时只需控制叶室温度稳定即可（通常为 20 <span class="math inline">^{\circ}</span>C ~ 30 <span class="math inline">^{\circ}</span>C 之间）。 此外就是控制恒定的 VPD 及一个饱和光强。另外就是需要注意，开始测量之前，必须在外界环境的 <span class="math inline">CO_2</span> 浓度下诱导足够长的时间，使光合速率达到稳定，一般需要20 ~ 30 min。对于没有稳定的光保护机制的植物，一般不建议在 50 ppm 或更低的浓度下进行设置，此时饱和光强和建议的温度下，植物没有足够的底物进行光合作用，这样会因为光化学反应的降低发生氧化性损伤。<span class="citation" data-cites="centritto2003">Centritto, Loreto, 和 Chartzoulakis (<a href="references.html#ref-centritto2003" role="doc-biblioref">2003</a>)</span> 研究表明，长时间的在 50 ppm 下诱导气孔打开到最大时，可以观测到最大的气孔导度（非标准方式测量）。</p>
<p>对于存在干旱胁迫的测量，由于干旱会导致气孔关闭（<span class="citation" data-cites="lauteri2014">Lauteri 等 (<a href="references.html#ref-lauteri2014" role="doc-biblioref">2014</a>)</span>）, 此时没有足够多的 <span class="math inline">CO_2</span> 进入气孔，此时的测量是没有意义的，可在 50 ppm 诱导 1 h 等待气孔完全打开再快速升高 Ca 的值来进行测量（<span class="citation" data-cites="centritto2003">Centritto, Loreto, 和 Chartzoulakis (<a href="references.html#ref-centritto2003" role="doc-biblioref">2003</a>)</span>）。该方法对于 <span class="math inline">V_{cmax}</span> 不受影响而 <span class="math inline">J_{max}</span> 降低的情况适用（<span class="citation" data-cites="Aganchich2009">Aganchich 等 (<a href="references.html#ref-Aganchich2009" role="doc-biblioref">2009</a>)</span>）。但在某些情况下，气孔关闭速度太快，无法完成整个 A/Ci 曲线过程 (Haworth2017)（需要考虑 LI-6800 RACiR）。更重要的是，如果想采用拟合方式求 gm，那么气孔必须完全打开使叶片对 <span class="math inline">CO_2</span> 吸收的限制降到最低。对于灌溉情况良好的植物或者土壤水分情况比较好的植物，气孔不对高于外界浓度的 Ca 的升高而响应(<span class="citation" data-cites="haworth2015coordination">Haworth 等 (<a href="references.html#ref-haworth2015coordination" role="doc-biblioref">2015</a>)</span>)，这可能需要更多的测量点或延长测量点的时间间隔来提高曲线的分辨率。另外，测量点的数量也要根据研究而改变，例如重点测量 Vcamx 时，50 ~ 300 ppm 的数据点要多一些，而如果研究对象是土壤磷酸盐对植物生理的限制，那么 1600 ~ 2000 ppm 的数据点要适当增多。</p>
<p>一个更精确的了解植物生理指标的方法是将 A/Ci 曲线改为 A/Cc 曲线，但这需要了解 gm 数据。因为 Cc 通过如下方式计算：</p>
<p><span id="eq-notecc"><span class="math display">
C_c = C_i - \frac{A}{gm}
\tag{11}</span></span></p>
<p>对于 gm 的计算，比较易操作的有几种：采用光合荧光联合测量的方式计算求得。当然也可以采用曲线拟合的方式，或者 <span class="citation" data-cites="yin2009using">Yin 等 (<a href="references.html#ref-yin2009using" role="doc-biblioref">2009</a>)</span> 使用的方式，在低氧气体下，采用不同的光照水平求得。这部分内容我们会在 <a href="gm.html" class="quarto-xref"><span>23&nbsp; 叶肉导度计算</span></a> 中讨论。</p>
<p>此外，测量气体交换时一个比较大的误差来源就是气体的扩散，因为测量时，多数时间内外界气体浓度要高于叶室内的气体浓度，那么即使用密封性非常好的材料，由外界高 <span class="math inline">CO_2</span> 浓度气体向叶室低 <span class="math inline">CO_2</span> 浓度气体的扩散无法避免，尤其是在连续长时间测量时该效应尤为明显，因此需要经常更换叶室垫圈。还可以通过一些方法来校正（<span class="citation" data-cites="Flexas2007leak">Flexas J 和 A (<a href="references.html#ref-Flexas2007leak" role="doc-biblioref">2007</a>)</span>，rodeghiero2007major），但如果采用 LI-6800 测量这将不是问题，首先它使用的材料耐用性比较高，而其叶室增压技术能够很好的解决这方面的问题。</p>
</section>
</section>
<section id="sec-aci-vs-racir" class="level2">
<h2 class="anchored" data-anchor-id="sec-aci-vs-racir">ACi VS RACiR</h2>
<p>在评估作物性状时，V<span class="math inline">_{cmax}</span> 及 J<span class="math inline">_{max}</span>时非常有用，传统的 A–Ci 曲线测量要求植物叶片要在一定浓度 CO<span class="math inline">_{2}</span> 下适应几分钟后完成测量，这样的测量有几个缺点：</p>
<ul>
<li>测量时间长，一条曲线至少需要 20 – 30 min，样本量多，重复多时，这种方法几乎没有可行性。</li>
<li>整个测量过程中，时间长，酶的激活状态会有变化，叶绿体会移动，气孔的开度也会发生变化。</li>
</ul>
<p>而 LI-6800 独有的 auto control 功能在算法上允许用户自定义 CO<span class="math inline">_{2}</span> 的起始浓度和种植浓度、变化方式（线性或其他）、所花费的时间，再加上其 IRGAs 极快的响应频率，使得短时间内的 A–Ci 的测量成为现实，即快速 CO<span class="math inline">_{2}</span> 响应曲线 RACiR 测量实验 <span class="citation" data-cites="stinziano2017">(<a href="references.html#ref-stinziano2017" role="doc-biblioref">J. R. Stinziano 等 2017</a>)</span>，该功能使得 5 min 内测量 A–Ci 曲线成为可能。该方法的实现可参考 <span class="citation" data-cites="stinziano2017">J. R. Stinziano 等 (<a href="references.html#ref-stinziano2017" role="doc-biblioref">2017</a>)</span> 的文章。</p>
<p><span class="citation" data-cites="stinziano2018">Joseph R. Stinziano 等 (<a href="references.html#ref-stinziano2018" role="doc-biblioref">2018</a>)</span> 针对 RACiR技术的疑问做了解答并提出了准确测量的建议，概括如下：</p>
<ul>
<li>首先，采用 100 ppm/min 的变化速率是与标准方法重合度最高的测量。</li>
<li>其次，明确研究问题，目前已有研究表明Vcmax 与 Jmax 的计算结果与标准测量方法结果无显著差异。</li>
<li>任何条件的改变，都需要做空叶室校准，例如：流速，气体浓度变化方向、温度，斜率等。</li>
<li>空叶室校准与叶片测量采用严格的同一次校准，因为 IRGA 的漂移，需要再次匹配时，或者环境条件改变时，需要重新做空叶室校准。是否需要匹配，可通过不加叶片的最初状态查看，此时 A 值应接近为0，reference 和 sample 气体浓度读数接近相等。</li>
<li>IRGA 分析器使用 5 此多项式进行校准，推荐使用 1 次到 5 次多项式进行拟合，然后根据 BIC 指数来确定最合适的空叶室校准系数（即非参数拟合的模型选择的问题）。 确定最合适的浓度变化范围。通常需要去掉最初和最后 30 s的数据。</li>
<li>最小化校准和测量值之间的水分摩尔分数差异。甚至有可能需要控制 reference 或 sample 的水的摩尔分数而不是 Vpdleaf。 通过预实验来确定最合适的 <span class="math inline">CO_2</span> 变化范围和随时间的斜率。</li>
</ul>
<p>而 <span class="citation" data-cites="Coursolle12019">Coursolle 等 (<a href="references.html#ref-Coursolle12019" role="doc-biblioref">2019</a>)</span> 测量了簇状叶黑云杉和香脂冷杉两种簇状叶植物的 RACiR，实验方法在 <span class="citation" data-cites="stinziano2017">J. R. Stinziano 等 (<a href="references.html#ref-stinziano2017" role="doc-biblioref">2017</a>)</span> 的基础上做了轻微的改进，其方法和结论值得在测量时借鉴，测量方法上：</p>
<ul>
<li><p>簇状叶室体积远大于荧光叶室和其他叶室，使用的 <span class="math inline">CO_2</span> 的变化为： 15 min 内从 20 ppm 到 1520 ppm 的变化，即变化的速率为 <span class="math inline">100 ppm \cdot min^{-1}</span>。但也测试了 200 - 800 ppm的部分曲线。</p></li>
<li><p>拟合使用了测量的 Rd，测量方法为：控制 reference 气路在 420 ppm 的 <span class="math inline">CO_2</span> 和 22 <span class="math inline">mmol \cdot mol^{-1}</span> 的 H<sub>2</sub>O 浓度，控制温度为 25 C，诱导后测量 Rd。</p></li>
</ul>
<p>得到了一些有帮助的结论：</p>
<ul>
<li><p>使用更大的叶室测量 RACiR 是可行的（36 <span class="math inline">cm^2</span>），叶室环境的控制需要通过预实验来确定。</p></li>
<li><p>该实验使用的 ACi 曲线测量时间在 30 到 36 min，而 RACiR 使用的<strong>完整的二氧化碳的浓度范围</strong>时，曲线耗时最大的时间接近 22 min。但使用 200 - 800 ppm 范围的变化，则时间可以下降 50%，<strong>这些部分范围的测量则可以应用于植物胁迫和表型平台的研究</strong>。</p></li>
<li><p>实验结果证明只要 match 的调整值保持不变即无需进行空叶室校准（也就是无需匹配的意思，实际的时间间隔取决于仪器的状态），但最新的 range match 功能可有效的增加空叶室校准的时间间隔（新功能，作者试验时尚未推出该功能）。</p></li>
<li><p>作者建议最好测量暗呼吸的速率，以获得最佳的 Vcmax 和 Jmax 计算结果。如果有第二台光合仪来测量则可有效的缩短测量时间。</p></li>
</ul>
<p>RACiR 方法在测量方式上是一种动态的方法，而传统 ACi 曲线则是一种静态的测量方式，但植物叶片在 2 s 内能够对外界 CO<sub>2</sub> 的变化做出响应，并能达到准稳态状态，这使得该方法测量时有理论依据的 <span class="citation" data-cites="stinziano2017">(<a href="references.html#ref-stinziano2017" role="doc-biblioref">J. R. Stinziano 等 2017</a>)</span>，而且使用不同的 CO<sub>2</sub> 变化速率，有助于进一步了解植物光合的特性。<span class="citation" data-cites="stinziano2019">Joseph R., Rachael K., 和 David T. (<a href="references.html#ref-stinziano2019" role="doc-biblioref">2019</a>)</span> 最新的研究给出一系列结论：</p>
<ul>
<li><p>扩散限制（<span class="math inline">CO_2</span> 总导度） 和光呼吸导致了表观上的标准 ACi 曲线和 RACiR 测量之间的偏差，表明他们的差异是由<strong>生物因子引起，而非仪器导致的人为误差</strong>。</p></li>
<li><p>上述原因导致的二者之间的偏差，如果不进行修正，那么将显著的低估 <span class="math inline">\Gamma^*</span>, 除非使用多个速率的 RACiR 来修正。</p></li>
<li><p>较高速率的 RACiR 曲线会增大其与标准曲线之间的偏差，但这个差距在无光呼吸的条件下会减小。</p></li>
<li><p>因为光呼吸和气体扩散限制与物种相关，结合以上结论，可以使用多个速率的 RACiR 来估算对 <span class="math inline">CO_2</span> 的总导度以及相对量的光呼吸速率。</p></li>
</ul>
<p>一些可能的方向：</p>
<ul>
<li><p>扩散限制影响 C<sub>c</sub> 速率的变化，说明对具有较高总阻力与 <span class="math inline">CO_2</span> 比值的物种，例如针叶物种，C4 植物，较高的阻力导致 RACiR 与 标准 ACi 测量斜率更大的差异，或者测量的前提假设被破坏。</p></li>
<li><p>RACiR 可检测到代谢中 <span class="math inline">CO_2</span> 的滞后性，各种滞后性的检测对标准 ACi 测量也具有指示性。</p></li>
</ul>
<p>由此来看，RACiR 测量具有进一步深入研究的意义。</p>
<section id="dat-racir" class="level3">
<h3 class="anchored" data-anchor-id="dat-racir">使用 DAT 做快速 ACi</h3>
<p>RACiR 测量相比普通测量来讲，需要进行叶室修正，在大批量测量的情况下，无疑会使得后期数据处理比较繁琐。<span class="citation" data-cites="saathoff_gas_2021">Saathoff 和 Welles (<a href="references.html#ref-saathoff_gas_2021" role="doc-biblioref">2021</a>)</span> 根据 LI-6800 的新特性，开创性的使用 DAT（dynamic assimilation technique）技术来进行测量。使得光合测量进入了动态测量的新时代，而在 LI-6800 系统 BLUE <span class="math inline">\ge</span> 1.5.02 版本之后，因为快速变化导致两个分析器浓度响应速度不同的问题在仪器内部可以直接修正，无需再测量结束后进行额外的校准。这使得快速 ACi 的 测量更加容易和方便。</p>
<div id="fig-data-racir" class="quarto-figure quarto-figure-center quarto-float anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-data-racir-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="img/dat-racir.jpg" class="img-fluid figure-img">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-data-racir-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: DATvsRACiR
</figcaption>
</figure>
</div>
<p>需要指出的是 <span class="citation" data-cites="stinziano2018">Joseph R. Stinziano 等 (<a href="references.html#ref-stinziano2018" role="doc-biblioref">2018</a>)</span> 的修正是建议采用多项式拟合因分析器响应速度的差异导致的误差，而 DAT 则是从根本上解决该问题，简单来讲，DAT 是基于叶室物质平衡计算的光合速率，与稳态测量计算采取的策略一致。考虑了参比气路和样品气路体积差异，时间差异的基础上，通过与时间相关的斜率来修正动态数据，但二者目的均为修正在变化的 CO<sub>2</sub> 浓度下两个分析器响应时间不一致的问题，在使用 RACiR 建议的 100 ppm 变化率时，二者接近完美的重合 <a href="#fig-data-racir" class="quarto-xref">Figure&nbsp;<span>2</span></a>：</p>
<p>而且在 LI-6800 BP 界面直接有相关自动测量程序供使用，可以通过设置完相关参数后，一键自动运行来完成测量。这也是我们目前建议测量快速 ACi 曲线的方式。</p>
<section id="sec-overparam" class="level4">
<h4 class="anchored" data-anchor-id="sec-overparam">关于 DAT 或 RACiR 来应对过参数化的问题</h4>
<p>Alan McClain 关于 DAT 来帮助 ACi 曲线拟合过参数化 <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> 有一个讨论，我们可以看一下。首先 FvCB 模型是一个过参数化的方程，这是毋庸置疑的：</p>
<p><img src="img/more-para.png" id="fig-morepara" class="img-fluid" alt="FvCB 的参数过多"> 一个典型的 ACi 曲线数据点一般不会超过 16 个（不是不能超过，是测量时间太久），而即使使用整体拟合，也要有 7 个拟合参数，至于分段拟合的话，甚至有可能只有 3 个数据点来拟合的情况发生，这在数学上无疑是典型的过参数化。而数据点比较少也是导致不同拟合方式结果差异较大的原因之一：</p>
<div id="fig-4fit" class="quarto-figure quarto-figure-center quarto-float anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-4fit-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="img/4fit.png" class="img-fluid figure-img">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-4fit-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: 相同数据集不同拟合方式的结果差异
</figcaption>
</figure>
</div>
<p>而 DAT 或 RACiR 数据量一般都在几百个，这样不管是整体拟合还是分段拟合，相比拟合的参数来讲，拟合数据点的量足够大，在很大程度上能够避免过参数化带来的影响。</p>
<div id="fig-datapoint" class="quarto-figure quarto-figure-center quarto-float anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-datapoint-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="img/dat-point.png" class="img-fluid figure-img">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-datapoint-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: 几百个数据无疑降低了过参数化的可能
</figcaption>
</figure>
</div>


<div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0" role="list" style="display: none">
<div id="ref-Aganchich2009" class="csl-entry" role="listitem">
Aganchich, B, S Wahbi, F Loreto, 和 M Centritto. 2009. <span>《Partial root zone drying: regulation of photosynthetic limitations and antioxidant enzymatic activities in young olive (Olea europaea) saplings》</span>. <em>Tree Physiology</em> 29 (5): 685.
</div>
<div id="ref-centritto2003" class="csl-entry" role="listitem">
Centritto, M, F Loreto, 和 K Chartzoulakis. 2003. <span>《The use of low CO2 to estimate diffusional and non-diffusional limitations of photosynthetic capacity of salt-stressed olive saplings》</span>. <em>Plant Cell and Environment</em> 26 (4): 585–94.
</div>
<div id="ref-Coursolle12019" class="csl-entry" role="listitem">
Coursolle, Carole, Guillaume O. Prud’homme, Manuel Lamothe1, 和 Nathalie Isabel1. 2019. <span>《Measuring Rapid A–Ci Curves in Boreal Conifers: Black Spruce and Balsam Fir》</span>. <em>Frontiers in Plant Science</em>. <a href="https://doi.org/10.3389/fpls.2019.01276">https://doi.org/10.3389/fpls.2019.01276</a>.
</div>
<div id="ref-ellsworth2015phosphorus" class="csl-entry" role="listitem">
Ellsworth, David S, Kristine Y Crous, Hans Lambers, 和 Julia Cooke. 2015. <span>《Phosphorus recycling in photorespiration maintains high photosynthetic capacity in woody species》</span>. <em>Plant Cell and Environment</em> 38 (6): 1142–56.
</div>
<div id="ref-Farquhar1980A" class="csl-entry" role="listitem">
Farquhar, G. D., S. Von Caemmerer, 和 J. A. Berry. 1980. <span>《A biochemical model of photosynthetic CO<span class="math inline">_2</span> assimilation in leaves of C3 species.》</span> <em>Planta</em> 149 (1): 78–90.
</div>
<div id="ref-Flexas2007leak" class="csl-entry" role="listitem">
Flexas J, Azespejo A, 和 Berry J A. 2007. <span>《Analysis of leakage in IRGA’s leaf chambers of open gas exchange systems: quantification and its effects in photosynthesis parameterization》</span>. <em>Journal of Experimental Botany</em> 58 (6): 1533.
</div>
<div id="ref-haworth2015coordination" class="csl-entry" role="listitem">
Haworth, Matthew, Dilek Killi, Alessandro Materassi, 和 Antonio Raschi. 2015. <span>《Coordination of stomatal physiological behavior and morphology with carbon dioxide determines stomatal control》</span>. <em>American Journal of Botany</em> 102 (5): 677–88.
</div>
<div id="ref-matthew2018" class="csl-entry" role="listitem">
Haworth, Matthew, Giovanni Marino, 和 Mauro Centritto. 2018. <span>《An introductory guide to gas exchange analysis of photosynthesis and its application to plant phenotyping and precision irrigation to enhance water use efficiency》</span>. <em>Journal of Water and Climate Change</em>. https://doi.org/<a href="https://doi.org/10.2166/wcc.2018.152">https://doi.org/10.2166/wcc.2018.152</a>.
</div>
<div id="ref-heath2005rising" class="csl-entry" role="listitem">
Heath, James R, Edward Ayres, Malcolm Possell, Richard D Bardgett, Helaina I J Black, Helen Grant, Phil Ineson, 和 Gerhard Kerstiens. 2005. <span>《Rising Atmospheric CO2 Reduces Sequestration of Root-Derived Soil Carbon》</span>. <em>Science</em> 309 (5741): 1711–13.
</div>
<div id="ref-Hikosaka2006Temperature" class="csl-entry" role="listitem">
Hikosaka, K, K Ishikawa, A Borjigidai, O Muller, 和 Y Onoda. 2006. <span>《Temperature acclimation of photosynthesis: mechanisms involved in the changes in temperature dependence of photosynthetic rate.》</span> <em>Journal of Experimental Botany</em> 57 (2): 291.
</div>
<div id="ref-stinziano2019" class="csl-entry" role="listitem">
Joseph R., Stinziano, Adamson Rachael K., 和 Hanson David T. 2019. <span>《Using multirate rapid ACi curves as a tool to explore new questions in the photosynthetic physiology of plants》</span>. <em>New Phytologist</em>. <a href="https://doi.org/10.1111/nph.15657">https://doi.org/10.1111/nph.15657</a>.
</div>
<div id="ref-lauteri2014" class="csl-entry" role="listitem">
Lauteri, Marco, Matthew Haworth, Rachid Serraj, Maria Cristina Monteverdi, 和 Mauro Centritto. 2014. <span>《Photosynthetic diffusional constraints affect yield in drought stressed rice cultivars during flowering.》</span> <em>PLOS ONE</em> 9 (10).
</div>
<div id="ref-Long2003Gas" class="csl-entry" role="listitem">
Long, S. P., 和 C. J. Bernacchi. 2003. <span>《Gas exchange measurements, what can they tell us about the underlying limitations to photosynthesis? Procedures and sources of error》</span>. <em>Journal of Experimental Botany</em> 54 (392): 2393.
</div>
<div id="ref-marshall1980a" class="csl-entry" role="listitem">
Marshall, B, 和 P V Biscoe. 1980. <span>《A Model for C3 Leaves Describing the Dependence of Net Photosynthesis on Irradiance》</span>. <em>Journal of Experimental Botany</em> 31 (1): 29–39.
</div>
<div id="ref-saathoff_gas_2021" class="csl-entry" role="listitem">
Saathoff, Aaron J., 和 Jon Welles. 2021. <span>《Gas exchange measurements in the unsteady state》</span>. <em>Plant, Cell &amp; Environment</em> 44 (11): 3509–23. <a href="https://doi.org/10.1111/pce.14178">https://doi.org/10.1111/pce.14178</a>.
</div>
<div id="ref-stinziano2017" class="csl-entry" role="listitem">
Stinziano, J. R., P. B. Morgan, D. J. Lynch, A. J. Saathoff, D. K. Mcdermitt, 和 D. T. Hanson. 2017. <span>《The rapid A-Ci response: photosynthesis in the phenomic era》</span>. <em>Plant Cell &amp; Environment</em> 40.
</div>
<div id="ref-stinziano2018" class="csl-entry" role="listitem">
Stinziano, Joseph R, Dayle K Mcdermitt, Douglas J Lynch, Aaron J Saathoff, Patrick B Morgan, 和 David T Hanson. 2018. <span>《The rapid A/Ci response: a guide to best practices》</span>. <em>New Phytologist</em>.
</div>
<div id="ref-Wullschleger1993Biochemical" class="csl-entry" role="listitem">
Wullschleger, Stan D. 1993. <span>《Biochemical Limitations to Carbon Assimilation in C3 Plants—A Retrospective Analysis of the A-Ci Curves from 109 Species》</span>. <em>Journal of Experimental Botany</em> 44 (262): 907–20.
</div>
<div id="ref-yin2009using" class="csl-entry" role="listitem">
Yin, Xinyou, P C Struik, Pascual Romero, Jeremy Harbinson, Jochem B Evers, Peter E L Van Der Putten, 和 J Vos. 2009. <span>《Using combined measurements of gas exchange and chlorophyll fluorescence to estimate parameters of a biochemical C3 photosynthesis model: a critical appraisal and a new integrated approach applied to leaves in a wheat (Triticum aestivum) canopy》</span>. <em>Plant Cell and Environment</em> 32 (5): 448–64.
</div>
</div>
</section>
</section>
</section>
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<hr>
<ol>
<li id="fn1"><p><a href="https://www.licor.com/env/webinars/a-timeline-of-photosynthetic-regulation">DAT与TPU</a><a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>

</main> <!-- /main -->
<script id="quarto-html-after-body" type="application/javascript">
window.document.addEventListener("DOMContentLoaded", function (event) {
  const toggleBodyColorMode = (bsSheetEl) => {
    const mode = bsSheetEl.getAttribute("data-mode");
    const bodyEl = window.document.querySelector("body");
    if (mode === "dark") {
      bodyEl.classList.add("quarto-dark");
      bodyEl.classList.remove("quarto-light");
    } else {
      bodyEl.classList.add("quarto-light");
      bodyEl.classList.remove("quarto-dark");
    }
  }
  const toggleBodyColorPrimary = () => {
    const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
    if (bsSheetEl) {
      toggleBodyColorMode(bsSheetEl);
    }
  }
  toggleBodyColorPrimary();  
  const icon = "";
  const anchorJS = new window.AnchorJS();
  anchorJS.options = {
    placement: 'right',
    icon: icon
  };
  anchorJS.add('.anchored');
  const isCodeAnnotation = (el) => {
    for (const clz of el.classList) {
      if (clz.startsWith('code-annotation-')) {                     
        return true;
      }
    }
    return false;
  }
  const clipboard = new window.ClipboardJS('.code-copy-button', {
    text: function(trigger) {
      const codeEl = trigger.previousElementSibling.cloneNode(true);
      for (const childEl of codeEl.children) {
        if (isCodeAnnotation(childEl)) {
          childEl.remove();
        }
      }
      return codeEl.innerText;
    }
  });
  clipboard.on('success', function(e) {
    // button target
    const button = e.trigger;
    // don't keep focus
    button.blur();
    // flash "checked"
    button.classList.add('code-copy-button-checked');
    var currentTitle = button.getAttribute("title");
    button.setAttribute("title", "已复制");
    let tooltip;
    if (window.bootstrap) {
      button.setAttribute("data-bs-toggle", "tooltip");
      button.setAttribute("data-bs-placement", "left");
      button.setAttribute("data-bs-title", "已复制");
      tooltip = new bootstrap.Tooltip(button, 
        { trigger: "manual", 
          customClass: "code-copy-button-tooltip",
          offset: [0, -8]});
      tooltip.show();    
    }
    setTimeout(function() {
      if (tooltip) {
        tooltip.hide();
        button.removeAttribute("data-bs-title");
        button.removeAttribute("data-bs-toggle");
        button.removeAttribute("data-bs-placement");
      }
      button.setAttribute("title", currentTitle);
      button.classList.remove('code-copy-button-checked');
    }, 1000);
    // clear code selection
    e.clearSelection();
  });
    var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
    var mailtoRegex = new RegExp(/^mailto:/);
      var filterRegex = new RegExp("https:\/\/zhujiedong\.github\.io\/photosynthesis-analysis\/");
    var isInternal = (href) => {
        return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
    }
    // Inspect non-navigation links and adorn them if external
 	var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)');
    for (var i=0; i<links.length; i++) {
      const link = links[i];
      if (!isInternal(link.href)) {
        // undo the damage that might have been done by quarto-nav.js in the case of
        // links that we want to consider external
        if (link.dataset.originalHref !== undefined) {
          link.href = link.dataset.originalHref;
        }
      }
    }
  function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
    const config = {
      allowHTML: true,
      maxWidth: 500,
      delay: 100,
      arrow: false,
      appendTo: function(el) {
          return el.parentElement;
      },
      interactive: true,
      interactiveBorder: 10,
      theme: 'quarto',
      placement: 'bottom-start',
    };
    if (contentFn) {
      config.content = contentFn;
    }
    if (onTriggerFn) {
      config.onTrigger = onTriggerFn;
    }
    if (onUntriggerFn) {
      config.onUntrigger = onUntriggerFn;
    }
    window.tippy(el, config); 
  }
  const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
  for (var i=0; i<noterefs.length; i++) {
    const ref = noterefs[i];
    tippyHover(ref, function() {
      // use id or data attribute instead here
      let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
      try { href = new URL(href).hash; } catch {}
      const id = href.replace(/^#\/?/, "");
      const note = window.document.getElementById(id);
      if (note) {
        return note.innerHTML;
      } else {
        return "";
      }
    });
  }
  const xrefs = window.document.querySelectorAll('a.quarto-xref');
  const processXRef = (id, note) => {
    // Strip column container classes
    const stripColumnClz = (el) => {
      el.classList.remove("page-full", "page-columns");
      if (el.children) {
        for (const child of el.children) {
          stripColumnClz(child);
        }
      }
    }
    stripColumnClz(note)
    if (id === null || id.startsWith('sec-')) {
      // Special case sections, only their first couple elements
      const container = document.createElement("div");
      if (note.children && note.children.length > 2) {
        container.appendChild(note.children[0].cloneNode(true));
        for (let i = 1; i < note.children.length; i++) {
          const child = note.children[i];
          if (child.tagName === "P" && child.innerText === "") {
            continue;
          } else {
            container.appendChild(child.cloneNode(true));
            break;
          }
        }
        if (window.Quarto?.typesetMath) {
          window.Quarto.typesetMath(container);
        }
        return container.innerHTML
      } else {
        if (window.Quarto?.typesetMath) {
          window.Quarto.typesetMath(note);
        }
        return note.innerHTML;
      }
    } else {
      // Remove any anchor links if they are present
      const anchorLink = note.querySelector('a.anchorjs-link');
      if (anchorLink) {
        anchorLink.remove();
      }
      if (window.Quarto?.typesetMath) {
        window.Quarto.typesetMath(note);
      }
      // TODO in 1.5, we should make sure this works without a callout special case
      if (note.classList.contains("callout")) {
        return note.outerHTML;
      } else {
        return note.innerHTML;
      }
    }
  }
  for (var i=0; i<xrefs.length; i++) {
    const xref = xrefs[i];
    tippyHover(xref, undefined, function(instance) {
      instance.disable();
      let url = xref.getAttribute('href');
      let hash = undefined; 
      if (url.startsWith('#')) {
        hash = url;
      } else {
        try { hash = new URL(url).hash; } catch {}
      }
      if (hash) {
        const id = hash.replace(/^#\/?/, "");
        const note = window.document.getElementById(id);
        if (note !== null) {
          try {
            const html = processXRef(id, note.cloneNode(true));
            instance.setContent(html);
          } finally {
            instance.enable();
            instance.show();
          }
        } else {
          // See if we can fetch this
          fetch(url.split('#')[0])
          .then(res => res.text())
          .then(html => {
            const parser = new DOMParser();
            const htmlDoc = parser.parseFromString(html, "text/html");
            const note = htmlDoc.getElementById(id);
            if (note !== null) {
              const html = processXRef(id, note);
              instance.setContent(html);
            } 
          }).finally(() => {
            instance.enable();
            instance.show();
          });
        }
      } else {
        // See if we can fetch a full url (with no hash to target)
        // This is a special case and we should probably do some content thinning / targeting
        fetch(url)
        .then(res => res.text())
        .then(html => {
          const parser = new DOMParser();
          const htmlDoc = parser.parseFromString(html, "text/html");
          const note = htmlDoc.querySelector('main.content');
          if (note !== null) {
            // This should only happen for chapter cross references
            // (since there is no id in the URL)
            // remove the first header
            if (note.children.length > 0 && note.children[0].tagName === "HEADER") {
              note.children[0].remove();
            }
            const html = processXRef(null, note);
            instance.setContent(html);
          } 
        }).finally(() => {
          instance.enable();
          instance.show();
        });
      }
    }, function(instance) {
    });
  }
      let selectedAnnoteEl;
      const selectorForAnnotation = ( cell, annotation) => {
        let cellAttr = 'data-code-cell="' + cell + '"';
        let lineAttr = 'data-code-annotation="' +  annotation + '"';
        const selector = 'span[' + cellAttr + '][' + lineAttr + ']';
        return selector;
      }
      const selectCodeLines = (annoteEl) => {
        const doc = window.document;
        const targetCell = annoteEl.getAttribute("data-target-cell");
        const targetAnnotation = annoteEl.getAttribute("data-target-annotation");
        const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation));
        const lines = annoteSpan.getAttribute("data-code-lines").split(",");
        const lineIds = lines.map((line) => {
          return targetCell + "-" + line;
        })
        let top = null;
        let height = null;
        let parent = null;
        if (lineIds.length > 0) {
            //compute the position of the single el (top and bottom and make a div)
            const el = window.document.getElementById(lineIds[0]);
            top = el.offsetTop;
            height = el.offsetHeight;
            parent = el.parentElement.parentElement;
          if (lineIds.length > 1) {
            const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]);
            const bottom = lastEl.offsetTop + lastEl.offsetHeight;
            height = bottom - top;
          }
          if (top !== null && height !== null && parent !== null) {
            // cook up a div (if necessary) and position it 
            let div = window.document.getElementById("code-annotation-line-highlight");
            if (div === null) {
              div = window.document.createElement("div");
              div.setAttribute("id", "code-annotation-line-highlight");
              div.style.position = 'absolute';
              parent.appendChild(div);
            }
            div.style.top = top - 2 + "px";
            div.style.height = height + 4 + "px";
            div.style.left = 0;
            let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter");
            if (gutterDiv === null) {
              gutterDiv = window.document.createElement("div");
              gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter");
              gutterDiv.style.position = 'absolute';
              const codeCell = window.document.getElementById(targetCell);
              const gutter = codeCell.querySelector('.code-annotation-gutter');
              gutter.appendChild(gutterDiv);
            }
            gutterDiv.style.top = top - 2 + "px";
            gutterDiv.style.height = height + 4 + "px";
          }
          selectedAnnoteEl = annoteEl;
        }
      };
      const unselectCodeLines = () => {
        const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"];
        elementsIds.forEach((elId) => {
          const div = window.document.getElementById(elId);
          if (div) {
            div.remove();
          }
        });
        selectedAnnoteEl = undefined;
      };
        // Handle positioning of the toggle
    window.addEventListener(
      "resize",
      throttle(() => {
        elRect = undefined;
        if (selectedAnnoteEl) {
          selectCodeLines(selectedAnnoteEl);
        }
      }, 10)
    );
    function throttle(fn, ms) {
    let throttle = false;
    let timer;
      return (...args) => {
        if(!throttle) { // first call gets through
            fn.apply(this, args);
            throttle = true;
        } else { // all the others get throttled
            if(timer) clearTimeout(timer); // cancel #2
            timer = setTimeout(() => {
              fn.apply(this, args);
              timer = throttle = false;
            }, ms);
        }
      };
    }
      // Attach click handler to the DT
      const annoteDls = window.document.querySelectorAll('dt[data-target-cell]');
      for (const annoteDlNode of annoteDls) {
        annoteDlNode.addEventListener('click', (event) => {
          const clickedEl = event.target;
          if (clickedEl !== selectedAnnoteEl) {
            unselectCodeLines();
            const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active');
            if (activeEl) {
              activeEl.classList.remove('code-annotation-active');
            }
            selectCodeLines(clickedEl);
            clickedEl.classList.add('code-annotation-active');
          } else {
            // Unselect the line
            unselectCodeLines();
            clickedEl.classList.remove('code-annotation-active');
          }
        });
      }
  const findCites = (el) => {
    const parentEl = el.parentElement;
    if (parentEl) {
      const cites = parentEl.dataset.cites;
      if (cites) {
        return {
          el,
          cites: cites.split(' ')
        };
      } else {
        return findCites(el.parentElement)
      }
    } else {
      return undefined;
    }
  };
  var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
  for (var i=0; i<bibliorefs.length; i++) {
    const ref = bibliorefs[i];
    const citeInfo = findCites(ref);
    if (citeInfo) {
      tippyHover(citeInfo.el, function() {
        var popup = window.document.createElement('div');
        citeInfo.cites.forEach(function(cite) {
          var citeDiv = window.document.createElement('div');
          citeDiv.classList.add('hanging-indent');
          citeDiv.classList.add('csl-entry');
          var biblioDiv = window.document.getElementById('ref-' + cite);
          if (biblioDiv) {
            citeDiv.innerHTML = biblioDiv.innerHTML;
          }
          popup.appendChild(citeDiv);
        });
        return popup.innerHTML;
      });
    }
  }
});
</script>
<nav class="page-navigation">
  <div class="nav-page nav-page-previous">
      <a href="./python-aq-gui.html" class="pagination-link" aria-label="介绍">
        <i class="bi bi-arrow-left-short"></i> <span class="nav-page-text"><span class="chapter-number">14</span>&nbsp; <span class="chapter-title">介绍</span></span>
      </a>          
  </div>
  <div class="nav-page nav-page-next">
      <a href="./aci.html" class="pagination-link" aria-label="Aci 曲线拟合相关">
        <span class="nav-page-text"><span class="chapter-number">15</span>&nbsp; <span class="chapter-title">Aci 曲线拟合相关</span></span> <i class="bi bi-arrow-right-short"></i>
      </a>
  </div>
</nav>
</div> <!-- /content -->




<footer class="footer"><div class="nav-footer"><div class="nav-footer-center"><div class="toc-actions d-sm-block d-md-none"><ul><li><a href="https://github.com/zhujiedong/photosynthesis-analysis/edit/master/aci-curve.qmd" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li></ul></div></div></div></footer></body></html>